- 【Python百日进阶-Web开发-Peewee】Day289 - Peewee 的扩展(九)pwiz / 架构迁移(上)
岳涛@心馨电脑
数据库pythondash前端
文章目录13.15pwiz,模型生成器13.15.1命令行选项13.16架构迁移SchemaMigrations13.16.1示例用法13.16.2支持的操作13.15pwiz,模型生成器pwiz是peewee附带的一个小脚本,能够自省现有数据库并生成适合与底层数据交互的模型代码。如果您已经有一个数据库,pwiz可以通过生成具有正确列关联和外键的骨架代码来给您一个很好的提升。如果您使用安装peew
- 如何从Angularjs 升级到 Angular(译文)
快乐2020
原文:UpgradingfromAngularJStoAngularAuthor:AngularJS官方译者:philoenglish.com团队关键字:AngularjsAngularAngular1.xAngular2.xmigration迁移,升级这里的Angular是指Angular2.x,而AngularJS是指AngularJS1.x版本。Angular(通常是指"Angular2+"
- 「C#」EF Core的“迁移”(Migration)
Raink_LH
假装会写C#萌新入坑数据库c#开发语言sql.net
1、“迁移”是什么“迁移”(Migration)我觉得可以理解为将实体类的变化转换为对数据库修改的方案,应用迁移就是将这个修改方案应用到数据库。其次,迁移也记录了数据库的版本历史等信息。2、添加迁移2.1、dotnetclitool参考:EFCore工具参考(.NETCLI)-EFCore添加迁移等后续操作用到了dotnet的命令行工具,这里记录下工具的安装(前提是已经安装了dotnet)dotn
- 关于django makemigrations/migrate在生成数据表上遇到的一些问题
青衫客36
Pythondjangosqlitepython
当你删除了生成的migration文件夹,将数据库从SQLite切换到MySQL,并且在执行makemigrations命令时显示没有变化,同时MySQL中没有生成表,可能是由于以下原因造成的:Django迁移系统的工作方式:Django的迁移系统是基于模型文件(通常位于models.py)中的变化来生成迁移的。当你运行makemigrations命令时,Django会检查自上次迁移以来模型定义有
- django的用户管理与token认证(四)
smile_pbb
pyhton框架djangosqlite数据库
一、django的用户管理1.用户认证介绍django的用户认证主要是用于用户的登陆认证上,如果用户名和密码正确,然后做对应的操作Django的认证组件使用的默认用户模型类(User)存储用户信息,包括用户名、密码和电子邮件地址。在执行pythonmanage.pymakemigrations在数据库中会生成几张默认的表mysql>showtables;+---------------------
- Django数据库重新初始化
bigcarp
django数据库python
开发过程中models.py中的模型经历一番爆改后,执行migrate就报错。干脆重新初始化。操作步骤:删除旧的数据库文件,重新创建。如果你是使用SQLite,删除后无需重新创建,Django在运行迁移时可以自动完成SQLite数据库创建。如果使用其他数据库,需要手动创建一个新的数据库。删除迁移文件:删除每个应用下的migrations文件夹中除了__init__.py文件以外的所有文件。这一步是
- C#系列-EF框架的创新应用+利用EF框架技术的知名开源应用项目(42)
管理大亨
C#系列oracle数据库c#开发语言服务器开源
EF框架的创新应用EF框架,即EntityFramework,是微软开发的一个开源的对象关系映射(ORM)框架,用于.NET应用程序中。它允许开发者以面向对象的方式处理数据库,而无需关心底层的SQL语句和数据库结构。EF框架的创新应用主要体现在以下几个方面:代码优先迁移(CodeFirstMigrations):EF框架提供了从代码生成数据库结构的功能。这意味着开发者可以先编写实体类,然后通过EF
- python+django小区物业管理系统_2oma5-
QQ402205496
djangopython后端
现代化的物业管理系统会要求提高物业工作人员的整体效率,招聘一些高素质的管理员,负责物业后勤的计算机机房、日常维护和软硬件升级服务,为用户打造舒适,方便的小区环境,提高小区整体的管理水平,打造小区物业管理品牌,建立小区物业可持续发展道路。django应用目录结构project1|--migrations//数据移植(迁移)模块|-------__init__.py|--__init__.py|--a
- Django使用oracle常见问题
高刚_0743
1.Django2.0+和Oracle11Traceback(mostrecentcalllast):File"/Users/user/anaconda3/lib/python3.6/site-packages/django/db/migrations/recorder.py",line55,inensure_schemaeditor.create_model(self.Migration)Fil
- 【数据库学习】Flyway
兔兔西
数据库学习数据库学习之postgres数据库
1,功能数据库版本管理;实现管理并跟踪数据库变更,支持数据库版本自动升级。2,使用1)java使用添加依赖org.flywaydbflyway-core6.5.7配置:javaspring:flyway:#是否启用enabled:true#可以支持多个location,用','隔开locations:classpath:db/migration#是否创建元数据表validate-on-migrat
- python web 框架Django学习笔记
ersaijun
djangopython前端django
2018年5月pythonweb框架Django学习笔记Django架站的16堂课MVC架构设计师大部分框架或大型程序项目中一种软件工程的架构模式,把程序或者项目分为三个主要组成部分,Model数据模型、View视图、Controller控制器。命令及设置相关创建数据库及中间文件,每次数据表有改动都要执行下面的两句pythonmanage.pymakemigrationsname同步更新数据库内容
- 20181207springboard
罗罗ph
1)翻译下面的句子:许多人认为海外留学是移民的跳板。参考翻译:Studyingabroadisregardedasaspringboardforimmigration.或Adegreefromaforeigninstitutioniswidelyconsideredaspringboardforimmigration.2)情景她的母亲很有信心这次歌唱会成为她女儿进入娱乐圈的跳槽。造句Hermoth
- WordPress网站搬家插件 All in one WP Migration_适合新手 wordpress 一键迁移方法
Amea
AllinoneWPMigration插件比较适合网站在阿里云虚拟主机、bluehost虚拟主机、godaddy虚拟主机,要搬家到siteground虚拟主机、云服务器的时候。因为是一键生成和导入搬家文件,所以认为很适合新手、小白使用。小白操作网站搬家,步骤越少越好,看起来对小白很适用。WordPress网站备份插件有很多种,搬家方法也有好几种,都可以实现网站迁移的目的。而在实际体验中是千差万别的
- django model对象修改_Django模型修改及数据迁移实现解析
抑郁了该怎么办
djangomodel对象修改
MigrationsDjango中对Model进行修改是件麻烦的事情,syncdb命令仅仅创建数据库里还没有的表,它并不对已存在的数据表进行同步修改,也不处理数据模型的删除。如果你新增或修改数据模型里的字段,或是删除了一个数据模型,你需要手动在数据库里进行相应的修改或者使用South。Django1.7中已经集成了South的代码,提供了3个新命令:migrate:用于执行迁移动作,具有syncd
- django中实现数据迁移
攻城狮的梦
python开发djangopython
在Django中,数据迁移(datamigrations)通常指的是将模型(models)中的数据从一个状态迁移到另一个状态。这可以涉及很多操作,比如添加新字段、删除字段、更新字段的数据类型,或者更改表之间的关系等。Django提供了一套强大的迁移系统,用于管理模型变更并同步到数据库中,但这不是数据迁移的全部内容。Django的数据迁移通常分为两个步骤:SchemaMigrations(模式迁移)
- django解决Table ‘xx‘ already exists的方法
南国那片枫叶
django数据库pythonexistmysqlmigrate迁移
1,首先看已存在的这个库表结构是什么样的,先让对应的model.py恢复到和他一样的字段2,删除对应app下的migrations目录里面除__init__.py文件的其他所有文件3,回到manage.py所在目录执行pythonmanage.pymakemigrations4,执行pythonmanage.pymigrate--fake,参数–fake是关键,这样就不会提示表已经建好了,执行成功
- laravel 数据库迁移
苍松拔雨
1.介绍迁移的作用就是编程式的创建应用数据库的结构2.创建迁移phpartisanmake:migrationcreate_users_table新创建的迁移会放在database/migrations目录,如2014_10_12_000000_create_users_table.php文件名中的时间字段用来让Laravel确认迁移顺序,即up时按时间升序执行,down时按降序执行选项说明--c
- 自己搜集的PTE资料(复制粘贴的)
ValleyGo
PTEACADEMIC——全球广泛认可的快捷出国语言考试PTEACADEMIC,又称PTE学术英语考试,是PearsonTestofEnglish(简称PTE)家族一员,是专为有留学移民计划人士设置的基于机考的领先出国语言考试之一。作为美国管理专业研究生入学考试委员会GMAC®认可的考试,以及澳洲移民局(AustralianDepartmentofImmigrationandCitizenship
- truffle 创建测试合约并部署到测试网络
不与天斗8866
web3区块链truffle
1、npm安装trufflenpminstall-gtruffle2、创建truffle项目mkdirimooc-on-blockchain-truffle&&cdimooc-on-blockchain-truffle3、初始化truffle目录,会生成如下几个目录contracts存放.sol合约文件migrations部署脚本目录test测试文件目录truffle-config.jstruff
- Abp vNext(三)数据迁移
一个程序员_zhangzhen
abpvnext.netcore
文档版本:7.0官方文档给的数据迁移的方式是这样的,第一步在Acme.BookStore.EntityFrameworkCore目录打开命令行终端输入以下命令:dotnetefmigrationsaddCreated_Book_Entity第二步运行Acme.BookStore.DbMigrator应用程序来更新数据库用上面方式,初始化数据库、增加字段以及删除字段,试了之后都没问题,可正常执行。这
- git的奇特知识点
虫虫教父
git
展示帮助信息githelp-gThecommonGitguidesare:attributesDefiningattributesperpathcliGitcommand-lineinterfaceandconventionscore-tutorialAGitcoretutorialfordeveloperscvs-migrationGitforCVSusersdiffcoreTweakingdi
- django报错: raise NotSupportedError(django.db.utils.NotSupportedError: MySQL 8 or later is required
雾林小妖
Python基础django数据库版本不支持
1、问题概述?在django框架中使用ORM模型开发程序,执行pythonmanage.pymakemigrations命令生成同步原语的时候,提示如下问题:raiseNotSupportedError(django.db.utils.NotSupportedError:MySQL8orlaterisrequired(found5.7.43).意思就是:需要MySQL8或更高版本但是在当前的企业环
- 使用ant执行sql脚本重建oracle数据库
liyanboss
工作脚本OracleSQLAnt数据结构
最近工作中,需要把之前的产品(基于mysql数据库的)转换到oracle环境中,利用oracle自己提供的一个工具sqldeveloper(有时间的话,把这个工具如何把mysql转换到oracle,也整理出来),里面的migration功能,可以把mysql的表结构,数据都导出成oracle的格式,对于生成的sql脚本,为了便于开发人员,持续构建,我写成了ant文件,供大家使用。DROPUSER$
- 解决django.db.utils.DataError: (1406, "Data too long for column 'gender' at row 1")
f109
在pycharm中TOOL—>runmanage.pytask运行createsuperuser,按照提示输入完用户名,邮箱,密码后提示出现了出错原因分析:在user表中gender的max_length为5但是female长度为6因此修改一下gender的max_length即可然后重新创建表TOOL—>TASKmakemigrations—>migratecreatsuperuser即可
- fluentmigrator连接mysql_怎么利用FluentMigrator实现数据库迁移
weixin_39843847
FluentMigratorFluentMigrator是一个基于.NET的迁移框架,你可以像使用RubyonRailsMigrations一样使用它。FluentMigrator的最新版本是3.13版,官网地址https://github.com/fluentmigrator/fluentmigrator。你可以使用C#编写数据库迁移类,而不需要编写任何SQL脚本。从使用方式上看,它非常像EF/
- fluentmigrator连接mysql_如何使用FluentMigrator进行数据库迁移
有事没事捕蒜子
标题:如何使用FluentMigrator进行数据库迁移地址:https://www.cnblogs.com/lwqlun/p/10649949.html作者:LamondLuFluentMigratorFluentMigrator是一个基于.NET的迁移框架,你可以像使用RubyonRailsMigrations一样使用它。FluentMigrator的最新版本是3.13版,官网地址https:
- EF Core入门例子(以SqLite为数据库)
zxy2847225301
C#编程.netcoreC#.netcoreEFCoreSqLiteORM
测试环境:visualstudio2017.netcore2.1具体步骤如下:1新增名称为EFCoreDemo的.netcore控制台程序,版本选择.netcore2.1,项目不能放到带中文的目录下,不然到后面执行Add-Migration命令时会报如下的错误同时,如果这个解决方案有多个项目,一定要把当前项目设为启动项目,且程序包管理器控制台默认项目一定要选对,不然到后面执行Add-Migrati
- .net core 数据库从sqlserver迁移到mysql
一刀道人
Mysql
先抛个链接https://blog.csdn.net/sD7O95O/article/details/78941648按照以上博客中的操作,发现add-migration可以成功,但是update-database的时候报错,具体报错信息不记得了,大概的意思就是当前mysql的语法不匹配,想到更换mysql的版本,于是就开始了跳坑的过程。本来我的机器(win10)mysql装的是:5.5.47,c
- 【Microsoft Azure 的1024种玩法】六十七.通过Data Migration Assistant 将本地自建SQL Server 数据库脱机迁移至Azure SQL Database
一只特立独行的兔先森
【MicrosoftAzure的1024种玩法】azure数据库microsoft数据库迁移AzureDatabase
【简介】作为一个DBA,我们需要全面了解SQLDatabase数据库的备份以及迁移,如果我们本地有一个单机的SQLServer数据库,我们想将其迁移至AzureSQLDatabase中,那我们有什么好的方式呢?我们可以直接使用DataMigrationAssistant数据迁移助手来对本地SQLServer进行迁移,可将其数据迁移到AzureVM或AzureSQL数据库上的SQLServer,本篇
- Django迁移错误migrate
创造new_world
参考:https://www.jianshu.com/p/ebe84b8fa365?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friendsDjango迁移之migrate问题:tablexxalreadyexist前面我们说到了makemigrations是将models.py里的模型
- 异常的核心类Throwable
无量
java源码异常处理exception
java异常的核心是Throwable,其他的如Error和Exception都是继承的这个类 里面有个核心参数是detailMessage,记录异常信息,getMessage核心方法,获取这个参数的值,我们可以自己定义自己的异常类,去继承这个Exception就可以了,方法基本上,用父类的构造方法就OK,所以这么看异常是不是很easy
package com.natsu;
- mongoDB 游标(cursor) 实现分页 迭代
开窍的石头
mongodb
上篇中我们讲了mongoDB 中的查询函数,现在我们讲mongo中如何做分页查询
如何声明一个游标
var mycursor = db.user.find({_id:{$lte:5}});
迭代显示游标数
- MySQL数据库INNODB 表损坏修复处理过程
0624chenhong
tomcatmysql
最近mysql数据库经常死掉,用命令net stop mysql命令也无法停掉,关闭Tomcat的时候,出现Waiting for N instance(s) to be deallocated 信息。查了下,大概就是程序没有对数据库连接释放,导致Connection泄露了。因为用的是开元集成的平台,内部程序也不可能一下子给改掉的,就验证一下咯。启动Tomcat,用户登录系统,用netstat -
- 剖析如何与设计人员沟通
不懂事的小屁孩
工作
最近做图烦死了,不停的改图,改图……。烦,倒不是因为改,而是反反复复的改,人都会死。很多需求人员不知该如何与设计人员沟通,不明白如何使设计人员知道他所要的效果,结果只能是沟通变成了扯淡,改图变成了应付。
那应该如何与设计人员沟通呢?
我认为设计人员与需求人员先天就存在语言障碍。对一个合格的设计人员来说,整天玩的都是点、线、面、配色,哪种构图看起来协调;哪种配色看起来合理心里跟明镜似的,
- qq空间刷评论工具
换个号韩国红果果
JavaScript
var a=document.getElementsByClassName('textinput');
var b=[];
for(var m=0;m<a.length;m++){
if(a[m].getAttribute('placeholder')!=null)
b.push(a[m])
}
var l
- S2SH整合之session
灵静志远
springAOPstrutssession
错误信息:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cartService': Scope 'session' is not active for the current thread; consider defining a scoped
- xmp标签
a-john
标签
今天在处理数据的显示上遇到一个问题:
var html = '<li><div class="pl-nr"><span class="user-name">' + user
+ '</span>' + text + '</div></li>';
ulComme
- Ajax的常用技巧(2)---实现Web页面中的级联菜单
aijuans
Ajax
在网络上显示数据,往往只显示数据中的一部分信息,如文章标题,产品名称等。如果浏览器要查看所有信息,只需点击相关链接即可。在web技术中,可以采用级联菜单完成上述操作。根据用户的选择,动态展开,并显示出对应选项子菜单的内容。 在传统的web实现方式中,一般是在页面初始化时动态获取到服务端数据库中对应的所有子菜单中的信息,放置到页面中对应的位置,然后再结合CSS层叠样式表动态控制对应子菜单的显示或者隐
- 天-安-门,好高
atongyeye
情感
我是85后,北漂一族,之前房租1100,因为租房合同到期,再续,房租就要涨150。最近网上新闻,地铁也要涨价。算了一下,涨价之后,每次坐地铁由原来2块变成6块。仅坐地铁费用,一个月就要涨200。内心苦痛。
晚上躺在床上一个人想了很久,很久。
我生在农
- android 动画
百合不是茶
android透明度平移缩放旋转
android的动画有两种 tween动画和Frame动画
tween动画;,透明度,缩放,旋转,平移效果
Animation 动画
AlphaAnimation 渐变透明度
RotateAnimation 画面旋转
ScaleAnimation 渐变尺寸缩放
TranslateAnimation 位置移动
Animation
- 查看本机网络信息的cmd脚本
bijian1013
cmd
@echo 您的用户名是:%USERDOMAIN%\%username%>"%userprofile%\网络参数.txt"
@echo 您的机器名是:%COMPUTERNAME%>>"%userprofile%\网络参数.txt"
@echo ___________________>>"%userprofile%\
- plsql 清除登录过的用户
征客丶
plsql
tools---preferences----logon history---history 把你想要删除的删除
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一起进步。
email : binary_spac
- 【Pig一】Pig入门
bit1129
pig
Pig安装
1.下载pig
wget http://mirror.bit.edu.cn/apache/pig/pig-0.14.0/pig-0.14.0.tar.gz
2. 解压配置环境变量
如果Pig使用Map/Reduce模式,那么需要在环境变量中,配置HADOOP_HOME环境变量
expor
- Java 线程同步几种方式
BlueSkator
volatilesynchronizedThredLocalReenTranLockConcurrent
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1.同步方法&
- StringUtils判断字符串是否为空的方法(转帖)
BreakingBad
nullStringUtils“”
转帖地址:http://www.cnblogs.com/shangxiaofei/p/4313111.html
public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是 str==
null
或 str.length()==
0
- 编程之美-分层遍历二叉树
bylijinnan
java数据结构算法编程之美
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class LevelTraverseBinaryTree {
/**
* 编程之美 分层遍历二叉树
* 之前已经用队列实现过二叉树的层次遍历,但这次要求输出换行,因此要
- jquery取值和ajax提交复习记录
chengxuyuancsdn
jquery取值ajax提交
// 取值
// alert($("input[name='username']").val());
// alert($("input[name='password']").val());
// alert($("input[name='sex']:checked").val());
// alert($("
- 推荐国产工作流引擎嵌入式公式语法解析器-IK Expression
comsci
java应用服务器工作Excel嵌入式
这个开源软件包是国内的一位高手自行研制开发的,正如他所说的一样,我觉得它可以使一个工作流引擎上一个台阶。。。。。。欢迎大家使用,并提出意见和建议。。。
----------转帖---------------------------------------------------
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言
- 关于系统中使用多个PropertyPlaceholderConfigurer的配置及PropertyOverrideConfigurer
daizj
spring
1、PropertyPlaceholderConfigurer
Spring中PropertyPlaceholderConfigurer这个类,它是用来解析Java Properties属性文件值,并提供在spring配置期间替换使用属性值。接下来让我们逐渐的深入其配置。
基本的使用方法是:(1)
<bean id="propertyConfigurerForWZ&q
- 二叉树:二叉搜索树
dieslrae
二叉树
所谓二叉树,就是一个节点最多只能有两个子节点,而二叉搜索树就是一个经典并简单的二叉树.规则是一个节点的左子节点一定比自己小,右子节点一定大于等于自己(当然也可以反过来).在树基本平衡的时候插入,搜索和删除速度都很快,时间复杂度为O(logN).但是,如果插入的是有序的数据,那效率就会变成O(N),在这个时候,树其实变成了一个链表.
tree代码:
- C语言字符串函数大全
dcj3sjt126com
cfunction
C语言字符串函数大全
函数名: stpcpy
功 能: 拷贝一个字符串到另一个
用 法: char *stpcpy(char *destin, char *source);
程序例:
#include <stdio.h>
#include <string.h>
int main
- 友盟统计页面技巧
dcj3sjt126com
技巧
在基类调用就可以了, 基类ViewController示例代码
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[MobClick beginLogPageView:[NSString stringWithFormat:@"%@",self.class]];
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
flyvszhb
javajdk
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7.
安装jdk1.6前,执行java -version得到
C:\Users\liuxiang2>java -version
java version "1.7.0_21&quo
- Java在创建子类对象的同时会不会创建父类对象
happyqing
java创建子类对象父类对象
1.在thingking in java 的第四版第六章中明确的说了,子类对象中封装了父类对象,
2."When you create an object of the derived class, it contains within it a subobject of the base class. This subobject is the sam
- 跟我学spring3 目录贴及电子书下载
jinnianshilongnian
spring
一、《跟我学spring3》电子书下载地址:
《跟我学spring3》 (1-7 和 8-13) http://jinnianshilongnian.iteye.com/blog/pdf
跟我学spring3系列 word原版 下载
二、
源代码下载
最新依
- 第12章 Ajax(上)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- BI and EIM 4.0 at a glance
blueoxygen
BO
http://www.sap.com/corporate-en/press.epx?PressID=14787
有机会研究下EIM家族的两个新产品~~~~
New features of the 4.0 releases of BI and EIM solutions include:
Real-time in-memory computing –
- Java线程中yield与join方法的区别
tomcat_oracle
java
长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。
&nb
- android Manifest.xml选项
阿尔萨斯
Manifest
结构
继承关系
public final class Manifest extends Objectjava.lang.Objectandroid.Manifest
内部类
class Manifest.permission权限
class Manifest.permission_group权限组
构造函数
public Manifest () 详细 androi
- Oracle实现类split函数的方
zhaoshijie
oracle
关键字:Oracle实现类split函数的方
项目里需要保存结构数据,批量传到后他进行保存,为了减小数据量,子集拼装的格式,使用存储过程进行保存。保存的过程中需要对数据解析。但是oracle没有Java中split类似的函数。从网上找了一个,也补全了一下。
CREATE OR REPLACE TYPE t_split_100 IS TABLE OF VARCHAR2(100);
cr