Есть ли список различий в синтаксисе для создания базы данных с MySQL и SQLite? - PullRequest
0 голосов
/ 22 марта 2012

Я искал инструмент преобразования или список вещей, которые нужно изменить при переходе с mySQL на SQLite. Однако, как я обнаружил, инструменты преобразования - это преобразование уже существующей базы данных mySQL в базу данных SQLite.

У меня еще нет базы данных mySQL, у меня есть только операторы create. Так есть ли список изменений, которые нужно внести в операторы create, или конвертер, который изменяет операторы mySQL create на операторы SQLite create?

Мой sql выглядит так:

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `pyMS` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `pyMS` ;

-- -----------------------------------------------------
-- Table `pyMS`.`msrun`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `pyMS`.`msrun` (
  `msrun_id` INT NOT NULL ,
  `description` VARCHAR(250) NOT NULL ,
  PRIMARY KEY (`msrun_id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `pyMS`.`feature`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `pyMS`.`feature` (
  `feature_id` VARCHAR(40) NOT NULL ,
  `intensity` DOUBLE NOT NULL ,
  `overallquality` DOUBLE NOT NULL ,
  `quality` DOUBLE NOT NULL ,
  `charge` INT NOT NULL ,
  `content` VARCHAR(45) NOT NULL ,
  `msrun_msrun_id` INT NOT NULL ,
  PRIMARY KEY (`feature_id`, `msrun_msrun_id`) ,
  UNIQUE INDEX `id_UNIQUE` (`feature_id` ASC) ,
  INDEX `fk_feature_msrun1` (`msrun_msrun_id` ASC) ,
  CONSTRAINT `fk_feature_msrun1`
    FOREIGN KEY (`msrun_msrun_id` )
    REFERENCES `pyMS`.`msrun` (`msrun_id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
    [...]

1 Ответ

1 голос
/ 22 марта 2012

Я не думаю, что вы найдете список изменений, таких как «заменить A на B». Что вы можете сделать, это посмотреть, что делают эти сценарии миграции, и создать свой собственный список.

Например, возьмите один по этой ссылке

если вы получаете команды типа sed 's/ smallint([0-9]*) / integer /g' |, вы можете видеть, что делается (sed - это команда unix для замены строк).

Это просто вопрос прохождения сценариев.

...