Как вы получаете Rails использовать столбец LONGBLOB в MySQL? - PullRequest
9 голосов
/ 24 февраля 2009

Я пытаюсь написать миграцию, которая добавляет столбец LONGBLOB к таблице в базе данных MySQL. Я хотел бы использовать LONGBLOB вместо BLOB, чтобы я мог хранить больше данных в двоичном столбце. Проблема в том, что он добавляет столбец BLOB, хотя я указываю больший размер.

Вот строка, которую я использую для добавления столбца:

add_column :db_files, :data, :binary, :null => false, :size => 1.megabyte

Я делаю это неправильно?

Ответы [ 2 ]

31 голосов
/ 24 февраля 2009

Следующее создаст поле MEDIUMBLOB. Используйте 16.megabyte, чтобы перейти к LONGBLOB.

def self.up
  create_table "blob_test", :force => true do |t|
    t.column :data, :binary, :limit => 10.megabyte
  end
end
0 голосов
/ 05 октября 2013

класс Migration_create_technologe extends CI_Migration {

public function up()
{
    $this->dbforge->add_field(array(
        'id' => array(
            'type' => 'INT',
            'constraint' => 11,
            'unsigned' => TRUE,
            'auto_increment' => TRUE
        ),
        'title' => array(
            'type' => 'VARCHAR',
            'constraint' => '100',
            'collation' => 'utf8_unicode_ci',
        ),
        'writer' => array(
            'type' => 'VARCHAR',
            'constraint' => '100',
            'collation' => 'utf8_unicode_ci',
        ),
        'created' => array(
            'type' => 'datetime',
             'default'=> '0000-00-00 00:00:00',
            'collation' => 'utf8_unicode_ci',
            ),                           
    ));
    $this->dbforge->add_key('id',TRUE);
   $this->dbforge->add_field("body longblob NOT NULL ");
    $this->dbforge->create_table('technologe');
}

public function down()
{
    $this->dbforge->drop_table('technologe');
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...