Как Базы данных SQL импортировать в MySQL [РЕШЕНО]

Статус
В этой теме нельзя размещать новые ответы.

Barkelay

Участник
Сообщения
520
Реакции
61
Операционная система
Windows
Текст ошибки
нет
Список мета-модулей
нет
Список плагинов SM
нет
Список расширений SM
нет
Всем привет
Не особо разбираюсь в БД
Хочу SQL БД перенести в MySQL, но как это сделать, где хранятся SQL БД?
Нужно перенести именно RankMe Kento, помоги пожалуйста, люди просят оставить очки, но мне для сайта это нужно

РЕШЕНИЕ: ТУТ
 
Последнее редактирование:

delhex

Участник
Сообщения
54
Реакции
5
SQL база хранится в sourcemod/data/sqlite/
Конвертировать можно с помощью сайта: Оффтоп
Потом заходишь на phpMyAdmin и импортируешь БД
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #4
Хоть давно и понятно, что подразумевают обычные пользователи под "SQL", уже честно надоело, когда путают сам язык запросов и СУБД, которая реализует самый основной стандарт SQL - SQLite.

где хранятся SQL БД?
/addons/sourcemod/data/sqlite/


Ваше счастье, что структура у RankMe совпадает как для SQLite, так и для MySQL. Есть плагины, которые делают слегка разные структуры для MySQL и SQLite. Банальный пример - VIP Core от Рико, или Shop Core от Фроза.
Подключаете плагин к MySQL. Когда таблица будет создана - любым софтом для работы с SQLite (SQLite Studio, к примеру) делаете экспорт только данных (без структуры), после - импортируете через phpMyAdmin.

Добавляем базу в программу. Не забываем переключить фильтр в окне выбора файла - на "Все файлы", поскольку SM юзает нестандартный формат файла.
После база отобразится сбоку. Сделаем двойной щелчок, и отобразятся таблицы.
После того, как они отобразились, нажимаем ПКМ по базе, и выбираем экспорт:
1572641753918.png


В появившемся окне оставляем галочки на таблицах, НО сами таблицы раскрываем и убираем галочки с них:
1572641831781.png


По итогу, останутся лишь одни таблицы, и "Экспортировать данные таблиц".
На следующей странице выбираем формат экспорта SQL, выберем файл для создания, и явно укажем кодировку.
1572641903085.png


Прожимаем "Finish", и открываем сразу же в блокноте итоговый файл.
Надо найти все подобные конструкции, и удалить:
dump.sql:
--
-- Файл сгенерирован с помощью SQLiteStudio v3.2.1 в Сб ноя 2 00:58:05 2019
--
-- Использованная кодировка текста: UTF-8
--
PRAGMA foreign_keys = off;
BEGIN TRANSACTION;

-- Таблица: Databases
CREATE TABLE Databases (id INTEGER PRIMARY KEY AUTOINCREMENT, origin TEXT NOT NULL, name TEXT NOT NULL, description TEXT NOT NULL, estimated_size INTEGER NOT NULL);

-- Таблица: meta
CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR);
INSERT INTO meta ("key", value) VALUES ('mmap_status', '-1');
INSERT INTO meta ("key", value) VALUES ('version', '2');
INSERT INTO meta ("key", value) VALUES ('last_compatible_version', '1');

COMMIT TRANSACTION;
PRAGMA foreign_keys = on;

Т.е., оставляем только инсерты.
Итоговый файл должен нормально импортироваться за исключением некоторых случаев, когда в базе несколько таблиц, и расставлены внешние ключи.
 
Последнее редактирование:

Barkelay

Участник
Сообщения
520
Реакции
61
Хоть давно и понятно, что подразумевают обычные пользователи под "SQL", уже честно надоело, когда путают сам язык запросов и СУБД, которая реализует самый основной стандарт SQL - SQLite.


/addons/sourcemod/data/sqlite/



Ваше счастье, что структура у RankMe совпадает как для SQLite, так и для MySQL. Есть плагины, которые делают слегка разные структуры для MySQL и SQLite. Банальный пример - VIP Core от Рико, или Shop Core от Фроза.
Подключаете плагин к MySQL. Когда таблица будет создана - любым софтом для работы с SQLite (SQLite Studio, к примеру) делаете экспорт только данных (без структуры), после - импортируете через phpMyAdmin.

Добавляем базу в программу. Не забываем переключить фильтр в окне выбора файла - на "Все файлы", поскольку SM юзает нестандартный формат файла.
После база отобразится сбоку. Сделаем двойной щелчок, и отобразятся таблицы.
После того, как они отобразились, нажимаем ПКМ по базе, и выбираем экспорт:
Посмотреть вложение 47856

В появившемся окне оставляем галочки на таблицах, НО сами таблицы раскрываем и убираем галочки с них:
Посмотреть вложение 47857

По итогу, останутся лишь одни таблицы, и "Экспортировать данные таблиц".
На следующей странице выбираем формат экспорта SQL, выберем файл для создания, и явно укажем кодировку.
Посмотреть вложение 47858

Прожимаем "Finish", и открываем сразу же в блокноте итоговый файл.
Надо найти все подобные конструкции, и удалить:
dump.sql:
--
-- Файл сгенерирован с помощью SQLiteStudio v3.2.1 в Сб ноя 2 00:58:05 2019
--
-- Использованная кодировка текста: UTF-8
--
PRAGMA foreign_keys = off;
BEGIN TRANSACTION;

-- Таблица: Databases
CREATE TABLE Databases (id INTEGER PRIMARY KEY AUTOINCREMENT, origin TEXT NOT NULL, name TEXT NOT NULL, description TEXT NOT NULL, estimated_size INTEGER NOT NULL);

-- Таблица: meta
CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR);
INSERT INTO meta ("key", value) VALUES ('mmap_status', '-1');
INSERT INTO meta ("key", value) VALUES ('version', '2');
INSERT INTO meta ("key", value) VALUES ('last_compatible_version', '1');

COMMIT TRANSACTION;
PRAGMA foreign_keys = on;

Т.е., оставляем только инсерты.
Итоговый файл должен нормально импортироваться за исключением некоторых случаев, когда в базе несколько таблиц, и расставлены внешние ключи.
Огромное спасибо, как всегда от души помогаешь, получилось! 👍
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу