Хотелось бы уточнить, как правильно экспортировать базу меток в sql, чтобы поместить метки в базу по умолчанию, а не создавать ещё одну такую же. Прочитал и понял, что написал непонятно. Придётся написать более пространно.
0. В окне "Управление метками" есть выпадающий список баз меток, содержащий две позиции: "Мои метки [SML]" и "Мои метки [SQLite3]".
1. Старая добрая база меток *.sml содержит метки. Базы SQLite3 пока нет вообще. Хочу создать её, сохранив исходник.
2. Для этого обращаюсь к Экспорту меток, выбираю нужный формат и местоположение файла БД. Экспорт происходит.
3. В ранее указанном месте появляется файл БД *.db3.
4. Хочу посмотреть метки, содержащиеся в файле *.db3. Для этого выбираю "Мои метки [SQLite3]". Но там ничего нет.
5. Тогда жму "Добавить базу". В окошке указываю местоположение недавно созданной базы. Появляются метки.
6. Но в списке баз меток не две, а уже три базы. Причём вторая и третья называются одинаково, но одна содержит метки, а вторая - нет.
7. Вот и вопрос: как бы так сделать, чтобы база добавлялась в существующие "Мои метки [SQLite3]"?
Готовимся к новому релизу SAS.Планета
Модератор: Tolik
-
Tolik
- Гуру
- Сообщения: 2604
- Зарегистрирован: 28 янв 2011, 10:38
- Благодарил (а): 283 раза
- Поблагодарили: 587 раз
Re: Готовимся к новому релизу SAS.Планета
Забавно, что со мной произошло ровно то же самое.
Когда делаешь экспорт, надо выбирать существующий файл Marks.db3
P.S. Пустой файл Marks.db3 создаётся, когда первый раз переключаешься с sml на sql
Когда делаешь экспорт, надо выбирать существующий файл Marks.db3
P.S. Пустой файл Marks.db3 создаётся, когда первый раз переключаешься с sml на sql
- Papazol
- Гуру
- Сообщения: 2069
- Зарегистрирован: 04 дек 2009, 01:39
- Откуда: Рязань
- Благодарил (а): 73 раза
- Поблагодарили: 647 раз
Re: Готовимся к новому релизу SAS.Планета
Даже пустой? А смысл?
Даже не так. Пустой файл создаётся в корневой папке программы. А если я хочу создать его в другом месте? Ведь это не запрещено, более того, выбор местоположения этого файла требуется. Но получается так, что если это не файл Marks.db3, то он не может быть помещён в "Мои метки [SQLite3]". Зато может быть удалена сама база (пустая). Ну, худо-бедно понимание приходит.
Даже не так. Пустой файл создаётся в корневой папке программы. А если я хочу создать его в другом месте? Ведь это не запрещено, более того, выбор местоположения этого файла требуется. Но получается так, что если это не файл Marks.db3, то он не может быть помещён в "Мои метки [SQLite3]". Зато может быть удалена сама база (пустая). Ну, худо-бедно понимание приходит.
Последний раз редактировалось Papazol 06 сен 2015, 21:33, всего редактировалось 1 раз.
-
Tolik
- Гуру
- Сообщения: 2604
- Зарегистрирован: 28 янв 2011, 10:38
- Благодарил (а): 283 раза
- Поблагодарили: 587 раз
Re: Готовимся к новому релизу SAS.Планета
Либо делать экспорт в файл с другим именем, при этом в окне экспорта изменить имя по умолчанию (не "Мои метки", а "Чё-то другое"), чтоб не появлялась куча баз с одинаковым именем в списке.
- Papazol
- Гуру
- Сообщения: 2069
- Зарегистрирован: 04 дек 2009, 01:39
- Откуда: Рязань
- Благодарил (а): 73 раза
- Поблагодарили: 647 раз
Re: Готовимся к новому релизу SAS.Планета
Да проблема не в том, что эти базы обзываются одинаково, а в том, что непонятно, что куда будет помещено. Наверное, всё-таки возможность подключения целой кучи разных БД более чем оправдана. Но в таком случае теряется смысл по умолчанию помещать БД в корневую папку программы. В любом случае вновь создаваемые метки будут помещаться в ту БД, которая в данный момент выбрана (подключена). Такого, чтобы ни одна БД не была подключена, быть не может. Значит, потерять метки практически невозможно. Если случайно метка была помещена не в ту БД, в которую нужно, всегда можно это поправить.
Нет, я ошибаюсь насчёт поправить. Перенести метку из одной БД в другую можно только через экспорт/импорт в другой формат. Раньше при этом терялась информация (иконки). А сейчас что?
Сейчас есть возможность экспортировать в формат *.sml, который сохраняет инфо об иконках. А потом его импортируешь в другую БД - и профит. Причём в описываемом случае ( перенос меток из одной БД в другую) только так и нужно делать.
Нет, я ошибаюсь насчёт поправить. Перенести метку из одной БД в другую можно только через экспорт/импорт в другой формат. Раньше при этом терялась информация (иконки). А сейчас что?
Сейчас есть возможность экспортировать в формат *.sml, который сохраняет инфо об иконках. А потом его импортируешь в другую БД - и профит. Причём в описываемом случае ( перенос меток из одной БД в другую) только так и нужно делать.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Готовимся к новому релизу SAS.Планета
Это известная проблема: http://www.sasgis.org/mantis/view.php?id=2474Tolik писал(а):5. Создаю пустую базу
Это, кстати, тоже. Тикета не нашёл (плохо искал?), но на сколько я помню, это было ещё до прикручивания новых меток.3. Зачем все категории находятся в неком корневом объекте под названием (NoName)?
А вот это что-то новое.Tolik писал(а):6. Сразу после этого закрываю сас и открываю - не выбрана ни одна база меток
Изначально, при первом запуске, у нас нету ни sml, ни каких-либо ещё меток. Сейчас по-умолчанию включаются sml метки и при первом запуске создаётся пустой файл меток. Сугубо для домохозяек, в управлении метками добавлен готовый пункт для включения sqlite меток, по аналогии с sml. В будущем, когда/если мы решим по дефолту перейти на sqlite, пункт с sml можно будет удалить, чтобы не смущать умы.Tolik писал(а):Пустой файл Marks.db3 создаётся, когда первый раз переключаешься с sml на sql
Поэтому и поведение sqlite меток аналогично sml - при первом переключении на них, создаётся "пустой" файл БД, куда можно сразу писать/импортировать.
Там же всё редактируется - и имя файла, и отображаемое имя в списке. Пункты из списка так же можно удалять (сами файлы БД с диска, естественно, не удаляются). Т.е. полная свобода действий. Marks.db3 - имя по-молчанию, зашитое в программу, точно как и marks.sml и Categorymarks.sml. Но файлы можно вручную переименовывать и перемещать в любую папку. Главное указать это всё в настройках в Управлении метками. Теперь основная и единственная база меток не обязана иметь дефолтное имя.Papazol писал(а):Но получается так, что если это не файл Marks.db3, то он не может быть помещён в "Мои метки [SQLite3]"
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Готовимся к новому релизу SAS.Планета
Не так. Надо включить интересующую базу (например, SQLite3) и импортировать в неё метки из sml. А делать экспорт из sml в sml, чтобы только потом сделать импорт, несколько излишнеPapazol писал(а):Сейчас есть возможность экспортировать в формат *.sml, который сохраняет инфо об иконках. А потом его импортируешь в другую БД - и профит. Причём в описываемом случае ( перенос меток из одной БД в другую) только так и нужно делать.
- Papazol
- Гуру
- Сообщения: 2069
- Зарегистрирован: 04 дек 2009, 01:39
- Откуда: Рязань
- Благодарил (а): 73 раза
- Поблагодарили: 647 раз
Re: Готовимся к новому релизу SAS.Планета
Я что-то очканул
так делать. Пытался экспортировать одну метку в существующую БД. Так программа говорит что-то типа "Такой файл уже существует. Переписать его?" Как бы намекает, что в переписанном файле будет содержаться эта одна экспортируемая метка. Если это не так, то зачем спрашивать? Сказано экспортировать, указано, куда - чего ещё нужно?
Всё-таки протестировал, и способ, естественно, рабочий. Но есть одна проблема. Есть одинаковые БД: одна в SML, другая в SQLite (последняя экспортирована из первой). Если экспортировать любую метку из SML в SQLite, то она ложится точно в ту категорию, из которой её экспортируешь (напомню, обе БД идентичны). А вот в обратную сторону не так. Если экспортируешь из SQLite в SML, то метка ложится в категорию NoName\*... Соответственно, в нужную категорию не попадает. Может, это не столь и критично, тем более что есть намерения в будущем избавиться от SML. Но пока обе БД существуют на равных, есть вероятность создания меток "не в той БД", и актуально будет перемещать их туда-сюда.
И известная проблема дублирования меток (обсуждалось вроде при импорте извне, но и в описанном случае то же.)
Всё-таки протестировал, и способ, естественно, рабочий. Но есть одна проблема. Есть одинаковые БД: одна в SML, другая в SQLite (последняя экспортирована из первой). Если экспортировать любую метку из SML в SQLite, то она ложится точно в ту категорию, из которой её экспортируешь (напомню, обе БД идентичны). А вот в обратную сторону не так. Если экспортируешь из SQLite в SML, то метка ложится в категорию NoName\*... Соответственно, в нужную категорию не попадает. Может, это не столь и критично, тем более что есть намерения в будущем избавиться от SML. Но пока обе БД существуют на равных, есть вероятность создания меток "не в той БД", и актуально будет перемещать их туда-сюда.
И известная проблема дублирования меток (обсуждалось вроде при импорте извне, но и в описанном случае то же.)
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Готовимся к новому релизу SAS.Планета
Я же говорю про импорт. Там никто никаких вопросов не задаёт - включил нужную БД и импортировал что угодно.Papazol писал(а): Пытался экспортировать одну метку в существующую БД.
Категория (NoName) появляется при экспорте в любую БД. И повторяю, это старое поведение, а не свежедобавленный баг. Да, неудобно, но исправить это не так просто. Создайте тикет в Багтрекере, возможно когда-нибудь его и пофиксим. Но точно, не к грядущему релизу.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Готовимся к новому релизу SAS.Планета
Tolik писал(а):Появился диалог: вы хотите заменить файл? Да, хочу. Но в результате файл не заменился, а метки добавились в ту же бд и продублировались там.
По поводу этого диалога давайте определимся, что мы хотим получить. Нужно заменять БД или дописывать? Определяться предлагаю в Багтрекере, чтобы остался след для истории.Papazol писал(а):Так программа говорит что-то типа "Такой файл уже существует. Переписать его?"
Сейчас там используется один диалог для всех экспортов и он всегда запрашивает подтверждения, согласны ли на перезапись. Но экспорт в БД меток фактически добавляет данные в существующую БД, а вот экспорт в kml и gpx перезаписывает эти файлы.