rails 数据迁移 -migration
1、创建一个fruits 项目:
rails new fruits -d mysql --skip-bundle
2、修改Gemfile:
source 'https://gems.ruby-china.org' gem 'rails', '~> 5.0.1'
gem 'mysql2', '>= 0.3.18', '< 0.5' #rails 默认不是mysql2 需要自己添加gem 或者在创建项目的时候 -d mysql
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'jquery-rails'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5' group :development, :test do
gem 'byebug', platform: :mri
end group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.0.5'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
3、配置 config / database.yml
development: # 表示 这是开发模式下的数据库配置
adapter: mysql2 # 表示 数据库的驱动 例如:mysql2, sqlite, oracle, postgres
database: test_migration # 数据库名字
username: root # 连接数据库的用户名
password: 123456 # 密码
host: localhost # 数据库的ip 如果本机的数据库,就是localhost
4、创建数据库
bundle exec rake db:create
5、创建 users 表
bundle exec rails generate migration create_users
6、上面的命令创建好了 migration 也创建好了 users表 是放在是放在 db/migration
db / migrate / 20170228020223_create_users.rb class CreateUsers < ActiveRecord::Migration[5.0]
def up
create_table :users do |t| 创建users表
t.string :title users表中的数据类型 列名
t.string :name
t.string :age
t.string :maed
end
end def down
drop_table :users down方法跟up方法是相对的 up是创建表 down方法则是回滚没有创建user表的时候
end
end
文件保存好以后 执行 :
bundle exec rake db:migrate 生成migrate 执行了这句才是创建user表 这是执行migrate中的up方法 bundle exec rake db:rollback 这是执行 migrate 中的down方法 回滚上一步操作
7、 修改列名:
修改列名
bundle exec rails generate migration rename_age_to_my 这是吧age列名修改成my
bundle exec rails generate migation rename_ 原列名 _to_ 新的列名
执行上面的命令 会在db/migration下面创建/20170224083125_rename_age_to_my.rb 文件
rails 数据迁移 -migration的更多相关文章
- rails 数据迁移出问题
数据migrate重置 rails db:migrate:reset 具体的,,还不清楚,想起来了再去补充
- 数据迁移 Migration
- EF架构~Migration数据迁移的执行顺序
回到目录 对于单个分支项目来说,只要你生成一个migration的版本,就会有一个时间戳文件的对应,而在update-database时,会从最小的时间开始,一直执行到当前版本的migration,而 ...
- EasySharding.EFCore 如何设计使用一套代码完成的EFCore Migration 构建Saas系统多租户不同业务需求且满足租户自定义分库分表、数据迁移能力?
下面用一篇文章来完成这些事情 多租户系统的设计单纯的来说业务,一套Saas多租户的系统,面临很多业务复杂性,不同的租户存在不同的业务需求,大部分相同的表结构,那么如何使用EFCore来完成这样的设计呢 ...
- MySQL数据迁移到SQL Server
数据迁移的工具有很多,基本SSMA团队已经考虑到其他数据库到SQL Server迁移的需求了,所以已经开发了相关的迁移工具来支持. 此博客主要介绍MySQL到SQL Server数据迁移的工具:SQL ...
- ASP.NET 5探险(1):Azure中配置连接字符串、独立项目执行EF7数据迁移
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:我开始把ASP.NET 5用于生产系统开发已经有1个多月了,也填了一些坑积累了一些经验,从今天开始会陆陆续 ...
- 在Entity Framework 7中进行数据迁移
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:虽然EF7重新设计了Entity Framework,不过也还是能够支持数据迁移的. Entity Fra ...
- Code First Migrations更新数据库结构(数据迁移)
背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建 (DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们 ...
- CodeFirstMigrations更新数据库结构(EF数据迁移)
背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建(DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们的 ...
随机推荐
- java注解 @SuppressWarnings注解用法
@SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码工具左侧行列提示,但这种警告可以通过注释类型声明来取消 @SuppressWar ...
- SCI写作经典替换词
- shell脚本常用参数
shell 脚本 常用参数 #!/bin/sh # 在脚本第一行脚本头 # sh为当前系统默认shell,可指定为bash等shell sh -x # 执行过程 sh -n # 检查语法 (a=bbk ...
- JS中字符串那些事~
1:字符串 JS中的任何数据类型都可以当作对象来看.所以string既是基本数据类型,又是对象. 2:声明字符串 var sStr = ‘字符串’;(常用) var oStr = new String ...
- Basic(消息)的一些属性及方法
AMQP协议:是一个金融级的消息队列,确保消息万无一失 1.消息发布端的确认 手动确认消息是否已经发送 场景:发布消息到RabbitMQ中,我们需要知道这个消息是否发布成功了. *发布确认影响性能 c ...
- artDialog4.1.7 摘自网络
jquery.artDialog.source.js学习 1 关键的对象关系 art = jQuery = $ function artDialog() {...} artDialog.fn = ar ...
- javascript对话框(弹出层)组件
http://www.blueidea.com/download/product/2010/7513.asp#comment 1. 从头到尾对一遍<<Javascript高级程序设计> ...
- 特性(C# 和 Visual Basic)
特性提供功能强大的方法,用以将元数据或声明信息与代码(程序集.类型.方法.属性等)相关联. 特性与程序实体关联后,即可在运行时使用名为“反射”的技术查询特性. 有关更多信息,请参见 反射(C# 和 V ...
- apache显示目录文件列表
在apache服务器下访问一个目录,如果没有index.html/index.php,则会报错. 为了访问文件夹: 1. 在 /var/www/html 目录下新建 /d/ mkdir d 2. t ...
- java 异常历史 和观点
异常起源于PL/1和Mesa之类的系统中. 1.) 不在于编译器是否会强制程序员去处理错误,而是要由一致的,使用异常来报告错误 2.) 不在于什么时候进行检查,而是一定要有检查.