标签: migration

在Rails迁移中将一列更新为另一列的值

我在Rails应用程序中有一个包含数十万条记录的表,它们只有一个created_at时间戳.我正在添加编辑这些记录的功能,所以我想updated_at在表格中添加一个时间戳.在我的迁移中添加列,我想更新所有行以使新updated_at匹配旧created_at,因为这是Rails中新创建的行的默认值.我可以做一个find(:all)并遍历记录,但由于表的大小,这需要几个小时.我真正想做的是:

UPDATE table_name SET updated_at = created_at;
Run Code Online (Sandbox Code Playgroud)

在使用ActiveRecord而不是执行原始SQL的Rails迁移中有更好的方法吗?

migration activerecord timestamp ruby-on-rails

69
推荐指数
4
解决办法
4万
查看次数

Rails迁移使列null => true

我最初创建了一个带有列的表

t.string   "email",  :default => "", :null => false
Run Code Online (Sandbox Code Playgroud)

要求已更改,现在我需要允许电子邮件为空.如何编写迁移到make:null => true

migration ruby-on-rails-3

68
推荐指数
2
解决办法
4万
查看次数

Java错误:比较方法违反了其一般合同

我看到很多关于这个的问题,并试图解决这个问题,但经过一个小时的谷歌搜索和大量的试验和错误,我仍然无法解决它.我希望你们中的一些人能够解决问题.

这就是我得到的:

java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835)
    at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453)
    at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:392)
    at java.util.ComparableTimSort.sort(ComparableTimSort.java:191)
    at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
    at java.util.Arrays.sort(Arrays.java:472)
    at java.util.Collections.sort(Collections.java:155)
    ...
Run Code Online (Sandbox Code Playgroud)

这是我的比较器:

@Override
public int compareTo(Object o) {
    if(this == o){
        return 0;
    }

    CollectionItem item = (CollectionItem) o;

    Card card1 = CardCache.getInstance().getCard(cardId);
    Card card2 = CardCache.getInstance().getCard(item.getCardId());

    if (card1.getSet() < card2.getSet()) {
        return -1;
    } else {
        if (card1.getSet() == card2.getSet()) {
            if (card1.getRarity() < card2.getRarity()) {
                return 1;
            } else {
                if (card1.getId() == card2.getId()) { …
Run Code Online (Sandbox Code Playgroud)

java migration compare comparator java-7

68
推荐指数
4
解决办法
11万
查看次数

rails运行特定的迁移

我删除了数据库中的一个表,称之为X. db:migrate不再有效.我有一个名为CreateX的迁移文件.有没有办法只运行特定的迁移?

migration ruby-on-rails

65
推荐指数
1
解决办法
5万
查看次数

生成迁移 - 创建连接表

我已经浏览了许多SOgoogle帖子来生成has many and belongs to many关联的连接表的迁移,没有任何工作.

所有解决方案都生成一个空的迁移文件.

我正在使用rails 3.2.13,我有两张桌子:security_usersassignments.这些是我尝试过的一些事情:

rails generate migration assignments_security_users

rails generate migration create_assignments_security_users

rails generate migration create_assignments_security_users_join_table

rails g migration create_join_table :products, :categories (following the official documentation)

rails generate migration security_users_assignments security_user:belongs_to assignments:belongs_to 
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉如何在两个表之间创建连接表迁移吗?

migration ruby-on-rails jointable ruby-on-rails-3 ruby-on-rails-4

65
推荐指数
3
解决办法
5万
查看次数

64
推荐指数
3
解决办法
5万
查看次数

是否有从CVS到Git的迁移工具?

我打算从CVS切换到Git.在SVN的情况下,似乎有cvs2svn.是否有类似的工具可以轻松地从CVS迁移到Git?

migration git cvs version-control

63
推荐指数
6
解决办法
4万
查看次数

如何使用迁移重命名laravel中的列?

我有下面提到的专栏:

public function up()
{
    Schema::create('stnk', function(Blueprint $table)
    {
        $table->increments('id');
        $table->string('no_reg', 50)->unique();
        $table->string('no_bpkb', 50)->unique();
        $table->string('nama_pemilik', 100);
        $table->string('alamat');
        $table->string('merk', 50);
        $table->string('tipe', 50);
        $table->string('jenis', 50);
        $table->smallInteger('tahun_pembuatan');
        $table->smallInteger('tahun_registrasi');
        $table->smallInteger('isi_silinder');
        $table->string('no_rangka', 50);
        $table->string('no_mesin', 50);
        $table->string('warna', 50);
        $table->string('bahan_bakar', 50);
        $table->string('warna_tnkb', 50);
        $table->string('kode_lokasi', 50);
        $table->date('berlaku_sampai');
        $table->timestamps();

        $table->index('created_at');
        $table->index('updated_at');
    });

}
Run Code Online (Sandbox Code Playgroud)

我把播种机做成了桌子

现在我想重命名idid_stnk.
我在"作曲家"中添加了一个"教义/ dbal "并做了一个composer update.

我做了迁移php artisan migration:make rename_column.
然后我为rename_column添加了新方法:

Schema::table('stnk', function(Blueprint $table)
{
    $table->renameColumn('id', 'id_stnk');

});
Run Code Online (Sandbox Code Playgroud)

然后我试图运行命令php artisan migrate但是我收到的错误如下所述:

[Ulluminate\Database\QueryException] …
Run Code Online (Sandbox Code Playgroud)

php mysql database migration laravel

62
推荐指数
5
解决办法
7万
查看次数

运行一个特定的laravel 4迁移(单个文件)

我不想在laravel 4上运行All Outstanding Migrations.我有5次迁移.现在我只想运行一次迁移.而不是做:php artisan migrate我想运行一个特定的迁移,如:php artisan migrate MY_MIGRATION_TO_RUN

migration laravel laravel-4

61
推荐指数
8
解决办法
7万
查看次数

如何将SQL Server .bak文件导入MySQL?

标题是自我解释的.有没有办法直接进行这种导入?

mysql sql-server migration backup

60
推荐指数
4
解决办法
19万
查看次数